package com.cssw.fyzb.busi.service.pay;

import com.cssw.fyzb.core.model.dodb.PayOrder;
import com.cssw.fyzb.core.model.dodb.QuickPayOrder;
import com.cssw.fyzb.core.model.dodb.QuickSignOrder;
import com.cssw.fyzb.core.model.dodb.UserQuickSign;

import java.math.BigDecimal;

/**
 * @author yangyiqun
 * @Date 20210211
 */
public interface QuickPayService {

    UserQuickSign getUserQuickSignByUserId(Long userId);

    UserQuickSign getUserQuickSignByUIdAndCardNo(Long userId, String cardNo);

    Long saveUserQuickSign(Long userId, String cardNo, String realName, String bankName, String bankCode,
                           String certCode, String mobile, String orderNo, String idCard);

    void saveQuickRequestLog(Long userId, String orderNo, String busiNo, String type, String errorCode, String errorMsg, String reqParam, String respParam);

    void saveQuickNotifyLog(Long userId, String orderNo, String busiNo, String type, String errorCode, String errorMsg, String param);

    void saveQuickSignOrder(Long userId, String cardNo, String realName, String bankName, String bankCode, String certcode, String mobile, String orderNo, String idCard, String busiNo);

    void saveQuickPayOrder(Long userId, String certCode, String busiType, BigDecimal amount, String goodsName, String goodsDesc, String orderNo, String busiNo);

    QuickSignOrder getQuickSignOrderByOrderNo(String orderNo);

    QuickPayOrder getQuickPayOrderByOrderNo(String orderNo);

    void updateQuickSignSucc(Long signId);

    void updateQuickSignFail(Long signId, String errorCode, String errorMsg);

    void updateQuickPaySucc(Long payId);

    void updateQuickPayFail(Long payId, String errorCode, String errorMsg);
}
